package com.ts.api.module.api.convert.org.handler;

import com.ts.api.module.api.convert.core.entity.ApiApplyParameter;
import com.ts.api.module.api.convert.core.entity.ApiDataExchangeParameter;
import com.ts.api.module.api.convert.core.handler.ApiConvertHandler;
import com.ts.api.module.api.convert.org.model.RespOrgPhoneMaskApply;
import com.ts.api.module.api.convert.org.model.RespOrgPhoneMaskDataExchange;

/**
 *  机构掩码模式转换器
 *
 *  @author Pan
 */
public interface ApiOrgPhoneMaskConvertHandler extends ApiConvertHandler {

    /**
     *  转换撞库请求体json
     *
     *  @param  apiDataExchangeParameter
     *  @return String
     */
    @Override
    Object dataExchange(ApiDataExchangeParameter apiDataExchangeParameter) throws Exception;

    /**
     *  响应体验证，是否为撞库成功或失败
     *  自行根据响应体中的状态做判断验证
     *
     *  @param  respJson    响应实体
     *  @return RespOrgPhoneMaskDataExchange
     *  @throws Exception
     */
    RespOrgPhoneMaskDataExchange respDataExchange(String respJson) throws Exception;

    /**
     *  转换进件请求
     *
     *  @param  apiApplyParameter
     *  @return String
     */
    @Override
    Object apply(ApiApplyParameter apiApplyParameter) throws Exception;

    /**
     *  根据响应体验证，是否为进件成功或失败
     *  自行根据响应体中的状态做判断验证
     *
     *  @param  respJson    返回json
     *  @return RespOrgPhoneMaskApply
     */
    RespOrgPhoneMaskApply respApply(String respJson) throws Exception;

}
